﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="GuiDefinitionConfigElement.cs" company="" />
// <summary>
//   Configuration element for the GUI appearance.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Xompare.Configuration
{
    using System.Configuration;

    /// <summary>
    /// Configuration element for the GUI appearance.
    /// </summary>
    public class GuiDefinitionConfigElement : ConfigurationElement
    {
        public const string CElementName = "GuiDefinitions";

        public override bool IsReadOnly()
        {
            return false;
        }

        /// <summary>
        /// Gets or sets configuration regarding XML comparison GUI.
        /// </summary>
        [ConfigurationProperty(XmlComparisonTabConfigElement.CElementName, IsRequired = true)]
        public XmlComparisonTabConfigElement XmlComparisonTabConfig
        {
            get
            {
                return (XmlComparisonTabConfigElement)this[XmlComparisonTabConfigElement.CElementName];
            }

            set
            {
                this[XmlComparisonTabConfigElement.CElementName] = value;
            }
        }

        /// <summary>
        /// Gets or sets information regarding XML presenting common GUI.
        /// </summary>
        [ConfigurationProperty(XmlTabConfigElement.CElementName, IsRequired = true)]
        public XmlTabConfigElement XmlTabConfig
        {
            get
            {
                return (XmlTabConfigElement)this[XmlTabConfigElement.CElementName];
            }

            set
            {
                this[XmlTabConfigElement.CElementName] = value;
            }
        }
    }
}
